check VCPUOP_up return code in the guest and BUG() on
failure.
Signed-off-by: Keir Fraser <keir@xensource.com>
xen_smp_intr_init(cpu);
cpu_set(cpu, cpu_online_map);
- HYPERVISOR_vcpu_op(VCPUOP_up, cpu, NULL);
+ if (HYPERVISOR_vcpu_op(VCPUOP_up, cpu, NULL) != 0)
+ BUG();
return 0;
}
break;
case VCPUOP_up:
- if ( test_and_clear_bit(_VCPUF_down, &v->vcpu_flags) )
+ if ( !test_bit(_VCPUF_initialised, &v->vcpu_flags) )
+ rc = -EINVAL;
+ else if ( test_and_clear_bit(_VCPUF_down, &v->vcpu_flags) )
vcpu_wake(v);
break;